package com.oa.hyperion.service;

import com.github.pagehelper.PageInfo;
import com.oa.hyperion.entity.assets.AssetsDetail;
import com.oa.hyperion.entity.assets.AssetsRepair;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface AssetsRepairService {
    public void insert(AssetsRepair assetsRepair);

    /**
     * 维修完成后，更新维修结果
     * @param id 主键
     * @param result 维修结果
     */
    public boolean update(int id, String result);

    /**
     * 查询所有报修信息
     * @return
     */
    public List<AssetsRepair> getAllRepairInfo();

    /**
     * 查询
     * 根据资产id查询资产报修信息
     * @param asset_id 资产id
     * @return 资产报修信息
     */
    public List<AssetsRepair> getAssetsRepairByAssetId(int asset_id);

    /**
     * 查询
     * 根据维修结果查询资产报修信息
     * @param result 维修结果
     * @return 资产报修信息
     */
    public List<AssetsRepair> getAssetsRepairByResult(int result);

    /**
     * 查询最新的维修结果
     * @param assetId 维修结果
     * @return 资产报修信息
     */
    public String getAssetsRepairByResultLatest(int assetId);

    /**
     * 查询
     * 根据维修申请人查询资产报修信息
     * @param applyer 维修申请人
     * @return 资产报修信息
     */
    public List<AssetsRepair> getAssetsRepairByApplyer(String applyer);

    /**
     * 查询
     * 根据维修责任人查询资产报修信息
     * @param responser 维修责任人
     * @return 资产报修信息
     */
    public List<AssetsRepair> getAssetsRepairByResponser(int responser);

    /**
     * 分页展示
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<AssetsRepair> getByCondition(int pageNum, int pageSize);
}
